function sync_iterm2_settings() {
    vscode_settings_dir="$HOME/code/iterm2_settings"
    vscode_settings_dir_git="$vscode_settings_dir"/.git
    bak_path="$HOME/Library/Application Support/Code/User-bak"

    if [ ! -d "$vscode_settings_dir_git" ]; then
        mv $vscode_settings_dir $bak_path
        git clone git@gitee.com:elonelon/iterm2_settings.git "$vscode_settings_dir"
        cd $vscode_settings_dir
        git config pull.rebase false
        cd -
    else
        cd $vscode_settings_dir
        git add "$vscode_settings_dir"
        git commit -m "."
        git pull
        git push
        cd -
    fi
}

function sync_vssettings() {
    vscode_settings_dir="$HOME/Library/Application Support/Code/User"
    vscode_settings_dir_git="$vscode_settings_dir"/.git
    bak_path="$HOME/Library/Application Support/Code/User-bak"

    if [ ! -d "$vscode_settings_dir_git" ]; then
        mv $vscode_settings_dir $bak_path
        git clone git@gitee.com:elonelon/vscode-settings.git "$vscode_settings_dir"
        cd $vscode_settings_dir
        git config pull.rebase false
        cd -
    else
        cd $vscode_settings_dir
        git add "$vscode_settings_dir"
        git commit -m "."
        git pull
        git push
        cd -
    fi
}

function sync_alfred_settings() {

    remote_url="git@gitee.com:elonelon/Afred3-Settings.git"
    settings_dir="$HOME/Alfred3-Settings"
    settings_dir_git="$settings_dir"/.git

    if [ ! -d "$settings_dir_git" ]; then
        rm -rf $settings_dir
        git clone "$remote_url" "$settings_dir"
        cd $settings_dir
        git config pull.rebase false
        cd -
    else
        cd $settings_dir
        git add "$settings_dir"
        git commit -m "."
        git pull
        git push
        cd -
    fi
}

function syncall() {
    sync_alfred_settings
    sync_vssettings
    sync_iterm2_settings
}

syncall
